System For and Method of Providing Video Ring-Back Tones

ABSTRACT

A system for and method for provisioning video ring back tones (vRBTs) is presented. The system may include one or more network enabled computers configured to receive video content from one or more parties over a network. The video content may be used to create one or more vRBTs. The vRBTs may be associated with one or more subscriber profiles. The vRBTs may be assigned to one or more parties. When a party attempts to place a video call to a subscriber, the vRBT may be played back on the calling party&#39;s video-equipped device until the subscriber answers the call, ignores the call, or sends the call to voicemail.

BACKGROUND INFORMATION

Currently, when placing a call to a telephony device, an audio tone maybe played back on the calling device until the receiving party answersthe call. Individuals with telephony devices may desire to share videocontent that may be played back on a telephony device instead of atraditional audio tone. This content may be exchanged between mobiledevices using Personal Data Interchange (PDI). PDI occurs whenindividuals communicate in either a business or personal context. Theexchanged information may include business cards, telephone numbers,addresses, dates and times of appointments. Devices that utilize NearField Communications (NFC) technology or Microsoft vCard featuresfacilitate PDI electronically.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention, together with further objects and advantages, maybest be understood by reference to the following description taken inconjunction with the accompanying drawings, in the several figures ofwhich like reference numerals identify like elements, and in which:

FIG. 1 is a schematic diagram illustrating a system according to aparticular embodiment;

FIG. 2 is a schematic diagram illustrating network element according toa particular embodiment;

FIG. 3 is a schematic diagram illustrating a system according to aparticular embodiment;

FIG. 4 is a block diagram a method of a particular embodiment;

FIG. 5 is a block diagram illustrating a method of a particularembodiment;

FIG. 6 is a schematic diagram illustrating a system according to aparticular embodiment;

FIG. 7 is a schematic diagram illustrating a system according to aparticular embodiment; and

FIG. 8 is a graphical illustration of a vRBT subscriber profileaccording to a particular embodiment.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

As the popularity of user generated video continues to grow, individualsmay send emails embedded with a vCard to which a video clip and or videotag (that the recipient can be entertained with) is attached. vCards mayalso be directly exchanged between users using NFC peer-to-peer mode toaccomplish PDI.

The description below describes systems and methods for exchanging andprovisioning audio-visual ring back tones (RBT) content on video-capabledevices, such as smartphones, softphones, tablets, PCs, or laptops. Oneor more subscribers to telephony or cable services may exchange videocontent and upload or share that video content with a provider oftelephony and/or cable services. When a party places a video call to asubscriber, the provisioning system may play back a video RBT (vRBT) onthe calling party's video-equipped device before the subscriber answersthe call or the call is sent to voicemail.

The description below describes servers, devices, and network elementsthat may include one or more modules, some of which are explicitlyshown, others are not. As used herein, the term “module” may beunderstood to refer to computing software, firmware, hardware, and/orvarious combinations thereof. It is noted that the modules areexemplary. The modules may be combined, integrated, separated, and/orduplicated to support various applications. Also, a function describedherein as being performed at a particular module may be performed at oneor more other modules and/or by one or more other devices instead of orin addition to the function performed at the particular module. Further,the modules may be implemented across multiple devices and/or othercomponents local or remote to one another. Additionally, the modules maybe moved from one device and added to another device, and/or may beincluded in both devices.

It is further noted that the software described herein may be tangiblyembodied in one or more physical media, such as, but not limited to, acompact disc (CD), a digital versatile disc (DVD), a floppy disk, a harddrive, read only memory (ROM), random access memory (RAM), as well asother physical media capable of storing software, and/or combinationsthereof. Moreover, the figures illustrate various components (e.g.,servers, network elements, telephony devices, etc.) separately. Thefunctions described as being performed at various components may beperformed at other components, and the various components may becombined and/or separated. Other modifications also may be made.

FIG. 1 is a schematic diagram of a system for providing video ring-backtones (vRBT) to one or more devices communicatively coupled to a networkin accordance with exemplary embodiments. As shown in FIG. 1, in anexemplary embodiment, a system 100 may include user devices 102, 104,106, 108, 112, and 114, provider system 110, transmitter/receiver 116,and network 118. It is noted that system 100 illustrates a simplifiedview of various components included in a system for providing vRBTservices and that other hardware devices and software not depicted maybe included in the system 100. It is also noted that the system 100illustrates only a single instance of each component. It will beappreciated that multiple instances of these components may be used.Moreover, the system 100 may include other devices not depicted in FIG.1.

As used herein, the term user device may be, for example, land-linetelephony device 102, a tablet computer 104, a smartphone 106, acellular device 108, a PC 112, or a laptop 114. Other examples of a userdevice may include a handheld PC, a PDA, a tablet computer, a satellitephone, a handheld MP3 player, a handheld video player, a personal mediaplayer, a gaming devices, or other devices capable of communicating withnetwork 118. The user devices may be equipped to play digital videos.The user devices may include Near Field Communication (NFC)capabilities, which may allow for communication with other devices bytouching them together or bringing them into close proximity. ExemplaryNFC standards include ISO/IEC 18092:2004, which defines communicationmodes for Near Field Communication Interface and Protocol (NFCIP-1).Other exemplary NFC standards include those created by the NFC Forum.

Provider system 110 may be an IP Multimedia Subsystem or IP MultimediaCore Network Subsystem (IMS). Provider system 110 may be a cableprovider system. It may be a combination of the aforementioned systems.

As shown in FIG. 1, provider system 110 may include network elements 110a-110 c. Other exemplary embodiments may include more or fewer networkelements, depending on the system needs. As referred to herein, anetwork element may include, but is not limited to: e.g., any computerdevice, or communications device including, e.g., a server, a networkappliance, a personal computer (PC), a workstation, a mobile device, aphone, a handheld PC, a personal digital assistant (PDA), a router, athin client, a fat client, an Internet browser, or other device. Networkelements may include, for example, Telephony Application Servers (TAS),servers equipped with Media Resource Function software (MRF), or ToneQuery Servers (TQS). The network elements may be Home Subscriber Servers(HSS). The network elements may be a combination of these and othernetwork-enabled computing devices. The network-enabled computer systemsmay execute one or more software applications to, for example, receivedata as input from an entity accessing the network-enabled computersystem, process received data, transmit data over a network, and receivedata over a network. The one or more network-enabled computer systemsmay also include one or more software applications to enable theprovisioning of vRBT services, as described herein.

Network elements 110 a-110 c may include one or more processors forrecording, transmitting, receiving, and storing data. Although networkelements are depicted as individual elements, it should be appreciatedthat the contents of one or more of a network elements may be combinedinto fewer or greater numbers of devices and may be connected toadditional devices not depicted in FIG. 1. Furthermore, the one or moredevices may be local, remote, or a combination thereof to a networkelement. According to some embodiments network element 110 a may be aresidential gateway, a router, a server, or other networkinfrastructure.

Network elements 110 a-110 c may provide Application ProgrammingInterfaces (“APIs”), interface tables, Remote Procedure Calls (“RPCs”),web services, Extensible Markup Language (“XML”) based interfaces,Simple Object Access Protocol (“SOAP”) based interfaces, Common ObjectRequest Broker Architecture (“CORBA”) and other interfaces for sendingor receiving media searches, preferences or other information.

Network 118 may be a wireless network, a wired network or anycombination of wireless network and wired network. For example, network118 may include one or more of a fiber optics network, a passive opticalnetwork, a cable network, a telephony network, an Internet network, asatellite network (e.g., operating in Band C, Band Ku or Band Ka), awireless LAN, a Global System for Mobile Communication (“GSM”), aPersonal Communication Service (“PCS”), a Personal Area Network (“PAN”),D-AMPS, Wi-Fi, Fixed Wireless Data, IEEE 802.11a, 802.11b, 802.15.1,802.11n and 802.11g or any other wired or wireless network fortransmitting and/or receiving a data signal. In addition, network 118may include, without limitation, telephone line, fiber optics, IEEEEthernet 802.3, a wide area network (“WAN”), a local area network(“LAN”), or a global network such as the Internet. Also, network 118 maysupport an Internet network, a wireless communication network, acellular network, or the like, or any combination thereof. Network 118may further include one, or any number of the exemplary types ofnetworks mentioned above operating as a stand-alone network or incooperation with each other. Network 118 may utilize one or moreprotocols of one or more network elements to which it is communicativelycoupled. Network 118 may translate to or from other protocols to one ormore protocols of network devices. Although network 118 is depicted asone network, it should be appreciated that according to one or moreembodiments, network 118 may comprise a plurality of interconnectednetworks, such as, for example, a service provider network, theInternet, a broadcaster's network, a cable television network, corporatenetworks, and home networks.

User devices 102, 104, 106, 108, 112, 114, transmitter/receiver unit116, provider system 110, and data storage 120 may transmit and receivedata to and from network 118 representing broadcast content, userrequest content, parallel search queries, parallel search responses, andother data. The data may be transmitted and received utilizing astandard telecommunications protocol or a standard networking protocol.For example, one embodiment may utilize Signaling System Number 7 (SS7).In other embodiments, the data may be transmitted and received utilizingSession Initiation Protocol (“SIP”) or H.323. In other embodiments, thedata may be transmitted and/or received utilizing using Voice Over IP(“VOW”). In other embodiments, the data may be transmitted and/orreceived using Voice Over LTE (“VoLTE”) or messaging protocols. Data mayalso be transmitted and/or received using Wireless Application Protocol(“WAP”), Multimedia Messaging Service (“MMS”), Enhanced MessagingService (“EMS”), Short Message Service (“SMS”), Global System for MobileCommunications (“GSM”) based systems, Code Division Multiple Access(“CDMA”) based systems, Transmission Control Protocol/Internet(“TCP/IP”) Protocols, or other protocols and systems suitable fortransmitting and receiving broadcast or parallel search data. Data maybe transmitted and received wirelessly or may utilize cabled network ortelecom connections such as an Ethernet RJ45/Category 5 Ethernetconnection, a fiber connection, a traditional phone wireline connection,a cable connection or other wired network connection. Network 118 mayuse standard wireless protocols including IEEE 802.11a, 802.11b and802.11g. Network 118 may also use protocols for a wired connection, suchas an IEEE Ethernet 802.3.

Transmitter/receiver unit 116 may be a repeater, a microwave antenna, acellular tower, or another network access device capable of providingconnectivity between two different network mediums. Transmitter/receiver116 may be capable of sending or receiving signals via a mobile network,a paging network, a cellular network, a satellite network or a radionetwork. Transmitter/receiver 116 may provide connectivity to one ormore wired networks and may be capable of receiving signals on onemedium such as a wired network and transmitting the received signals ona second medium such as a wireless network.

Provider system 110, transmitter/receiver 116, and data storage 120 mayinclude one or more processors (not shown) for recording, transmitting,receiving, and storing data. Although network elements 110 a-110 c,transmitter/receiver 116, and data storage 120 are depicted asindividual elements, it should be appreciated that the contents of oneor more of a network elements 110 a-110 c, transmitter/receiver 116, anddata storage 120 may be combined into fewer or greater numbers ofdevices and may be connected to additional devices not depicted inFIG. 1. Furthermore, the one or more devices may be local, remote, or acombination thereof of network elements 110 a-110 c,transmitter/receiver 116, and data storage 120.

Data storage 120 may be network accessible storage and may be local,remote, or a combination thereof to provider system 110 and/or networkelements 110 a-110 c. Data storage 120 may utilize a redundant array ofinexpensive disks (“RAID”), tape, disk, a storage area network (“SAN”),an internet small computer systems interface (“iSCSI”) SAN, a FibreChannel SAN, a common Internet File System (“CIFS”), network attachedstorage (“NAS”), a network file system (“NFS”), or other computeraccessible storage. In one or more embodiments, Data storage 120 may bea database, such as an Oracle database, a Microsoft SQL Server database,a DB2 database, a MySQL database, a Sybase database, an object orienteddatabase, a hierarchical database, or other database. Data storage 120may utilize flat file structures for storage of data.

Provider system 110 may comprise IMS-based core equipment and mayprovide to a calling party a video Ring Back Tone (vRBT) resulting frompersonal data interchange. The vRBT may be based on user-generatedcontent. Provider system 110 may be operated by one or more providers oftelephony services. Provider system 110 may be operated by one or moreproviders of cable services. Network elements 110 a-110 c may compriseone or more modules, as will be described with reference to FIG. 2.

FIG. 2 is a schematic diagram of a hardware component of the system of aparticular embodiment. Network element 210 a may be the same as networkelement 110 a (shown in FIG. 1). As shown in FIG. 2, network element 210may comprise one or more modules to provide various functionalitiesassociated with providing video ring-back tones in accordance with theembodiments of the present invention. In the exemplary embodiment shownin FIG. 2, network element 210 may comprise a user interface module 201,a vRBT module 202, a subscriber profile module 203, a control module204, a playback module 206, and a verification module 205.

FIG. 3 is an exemplary embodiment of a system 300 for provisioning vRBTservices to one or more users. The system 300 may include Providersystem 110, one or more network elements 110 a-110 c, and data storage120. User devices 302 and 304 may be associated with Party A and PartyB, respectively. User device 306 may be associated with Party C. Userdevices 302-306 may be communicatively coupled to each other, and toprovider system 110, via network 118. User devices may be similar touser devices 102-114, as shown in FIG. 1.

With reference to FIGS. 2 and 3, an exemplary procedure for generating avRBT using personal data interchanged video content from vCard, videotag and from NFC may include the following: Party A may share videocontent with Party B. The content may be shared over network 118, or maybe directly shared using NFC hardware/software, if user devices 302 and304 are NFC capable. For example, Party A may send the video content toParty B in an email or other electronic communication. The video contentmay be attached to a vCard which may contain party A's contactinformation. The term “vCard” may refer to a file format standard forelectronic business cards. vCards may be attached to e-mail messages,but also may be exchanged on the internet or using instant messaging.vCards may contain name and address information, phone numbers, e-mailaddresses, URLs, logos, photographs, audio clips, and video content. Thevideo content may be directly attached to the vCard as a file. The videocontent may be a video tag or link to a website that streams the video,such as YouTube.

The video content may be from a variety of sources. For example, thevideo content may be user generated content (UGC). The video content mayhave been created by party A. In another example, the video content mayhave been created by a third-party, or party A may have previouslypurchased the video content. The video content may be one or more videoclips capable of being played on a video-equipped user device. Avideo-equipped user device may include a smartphone, a tablet computer,a PDA, a cellphone, a laptop computer, a desktop computer, and otherdevices capable of play video content.

Party B may receive the video content from party A. If the video contentwas received as an attachment to a vCard in an email, Party B mayimport/export the contact information, the video clip or video tag byusing an application. For example, the attached video content may beretrieved using an email application program, such as Outlook “Importand Export Wizard,” and/or a tool from a provider service channel, suchas provider 110. For example, Party B may use one or more softwareapplications on device 304 to extract the video content or video tag.

User interface module 201 may be configured to allow party B to uploador transmit the video content to Provider system 110. User interfacemodule 201 may provide a graphical user interface. The graphical userinterface may be provided as a mobile application on one or more userdevices, such as party B's user device 304 or party A's user device 302.User interface module 201 may be provide one or more websites where aparty can upload video content.

User interface module 201 may transmit the video content to vRBT module202. The video content may include one or more identifiers that identifythe party that created or owns the video content. In this case, if partyA created the video content, or owns the video content, the identifiersmay identify party A using a caller ID, telephony number, name, physicaladdress, email address, account number, or other identifyinginformation. vRBT module 202 may create one or more vRBT clips that canbe played on a video-equipped user device. The one or more vRBT clipsmay be based on the received video content.

In an alternative embodiment, party A may directly upload the videocontent to Provisioning system 110 via interface module 201. Party A mayuse user interface module 201 to assign the video content to one or moreother users, using identifying information such as caller IDs ortelephony numbers.

vRBT module 202 may be configured to create one or more vRBT clips basedon the received video content. vRBT module 202 may create one or morevRBT clips using the video content received from party B (or party A).The one or more vRBT clips may be short video segments designed to beplayed on a video-enabled user device (such as party B device 304) whenparty B places a video call. vRBT module 202 may set the length of thevRBT clip based on predetermined limitations. For example, vRBT module202 may be configured to automatically set the length for a vRBT clip to30 seconds. Shorter or longer time limits may be used, depending onsystem needs. The length may be designated by party B (or party A) viauser interface module 201. For example, user interface module 201 maypresent party A or B with a graphical user interface that allows them toedit the length of the vRBT clip based on the video content. If thevideo content is 1 minute long, party A or B may be able to select orhighlight which portion or portions of the video content to designate asthe vRBT. Party A or B may be able to select or highlight two separate10 second segments of the video content, and vRBT module 202 may thencombine the two selected segments into one 20 second vRBT clip.

vRBT module 202 may create multiple vRBT clips from the same videocontent. For example, party B may upload the 1 minute video content andcreate three different vRBT clips from it using the process describedabove. The first may be 20 seconds long, the second 30 seconds long, andthe third may be the full 1 minute. vRBT module 202 may automaticallycreate one vRBT clip that is the same length as the received videocontent.

Subscriber profile module 203 may update a vRBT subscriber profile forparty A and/or party B based on the one or more vRBT clips. Subscriberprofile module 203 may comprise one or more vRBT subscriber profiles. AvRBT subscriber profile may comprise data relating to a subscriber (suchas Party A or Party B). A subscriber may be an individual or entity thatsubscribes to telephony services. A subscriber may be an individual orentity that subscribes to cable services. A subscriber may be anindividual or entity that subscribes to internet services, or wirelesstelephony services, or a combination of the above.

FIG. 8 shows an exemplary graphical depiction of a vRBT subscriberprofile and the data that it may contain. The vRBT subscriber profilemay include the name 802 of the subscriber (party A in FIG. 8). The vRBTsubscriber profile may include the subscriber caller ID 804, which mayinclude one or more telephony numbers, caller IDs, or email addressesassociated with the subscriber's user devices. For example, Party A'svRBT subscriber profile would include the telephony or mobile number fordevice 302. The vRBT subscriber profile may include one or moresubscriber email addresses. The exemplary vRBT subscriber profile mayinclude entries 806 for each vRBT clip associated with that subscriberprofile. The vRBT subscriber profile may include entries 808 showingwhere each vRBT clip is stored. The entries in 808 may be links orpointers to one or more locations in a queue, stack, database, or otherstorage medium. The vRBT subscriber profile may include entries 810showing which vRBT clips are assigned to which caller IDs or telephonynumbers. The vRBT subscriber profile may include other relevantinformation relating to the vRBT clips or the vRBT subscriber. The vRBTsubscriber profile may include demographic data related to thesubscriber. The vRBT subscriber profile may include the subscriber'sphysical address, location information that may be GPS-related, andother identifying information associated with the subscriber. vRBTsubscriber profiles may additionally or alternatively be stored at datastorage 120. vRBT subscriber profiles may be stored externally.

Control module 204 may be configured to control the operations andmanage the resources used by user interface module 201, vRBT module 202,subscriber profile module 203, verification module 205, and playbackmodule 206. Control module 204 may determine that vRBT module 202 modulehas prepared the one or more vRBT clips. Control module 204 may causesubscriber profile module 203 to associate the one or more vRBT clipswith a vRBT subscriber profile based on identifiers from the videocontent for the vRBT clip. In this example, because party A originallysent the video content to party B, the vRBT clip may include party A'scaller ID, thus designating party A as the original owner or creator ofthe video content. Subscriber profile module 203 may associate party A'svRBT subscriber profile with the vRBT clip. Party A may have multipletelephony numbers or lines associated with his vRBT subscriber profile(e.g., work line, personal line). Party A may have a separate vRBTsubscriber profile for each telephony number. Subscriber profile module203 may associate the vRBT clip with all of party A's vRBT subscriberprofiles. Subscriber profile module 203 may associate only one of partyA's subscriber profiles with the vRBT clip. This may be based on inputfrom party A (or another party). The vRBT clip may be stored in datastorage 120 and linked to party A's vRBT subscriber profile bysubscriber profile module 203.

For example, referring to FIG. 8, vRBT subscriber profile module mayassociate two vRBT clips (vRBT_(—)1 and vRBT_(—)2) with party A's vRBTsubscriber profile 800. Party A's vRBT subscriber profile 800 mayinclude entries (808) with pointers to where each vRBT clip is stored.

Subscriber profile module 203 may also assign the one or more vRBT clipsto one or more caller IDs, email addresses, telephony numbers, or othercaller identifiers. For example, because party B uploaded the videocontent originally owned by party A, subscriber profile module 203 mayassign the vRBT clip to any incoming video calls from party B to partyA, using party B's caller ID. Thus, in the future, if party B places avideo call to party A, the vRBT clip may be played on party B's deviceuntil party A answers the call or the call goes to voicemail, as will bedescribed below. Subscriber profile module 203 may assign the vRBT clipto multiple subscribers or multiple caller IDs (even if the caller IDsare not associated with subscribers).

For example, referring again to FIG. 8, subscriber profile module 203may update party A's vRBT subscriber profile to assign vRBT_(—)1 tocontact (123) 456-7890 (shown under 810). In FIG. 8, vRBT_(—)1 has beenassigned to three contacts. vRBT_(—)2 has been assigned to two contacts.

In another exemplary embodiment, party B may desire to “share” the videocontent with other users. Party B may indicate this using user interfacemodule 201. If the video content is to be shared, subscriber profilemodule 203 may associate the vRBT clip with party B's vRBT subscriberprofile and assign it to other caller IDs that may be designated byparty B. For example, party B may instruct the provisioning system 110to share the vRBT with party C. Subscriber profile module 203 may thenassign the vRBT clip to party C in party B's vRBT subscriber profile. Ifparty B does not already have a vRBT subscriber profile, subscriberprofile module 203 may create one for him. Thereafter, if party C placesa video call to party B, the vRBT clip may be played on party C's userdevice 306 before party B answers.

Party B may initiate a video call with Party A. The video call may besetup via SIP signaling using network 118 and provider system 110.Provider system 110 may receive one or more signals indicating thatparty B is initiating a video call with party A. Verification module 205may retrieve party A's vRBT subscriber profile and determine if any vRBTclips are assigned to party B based on party B's calling information.Party B's calling information may include a caller ID, telephony number,email address, or other identifiying information.

Verification module 205 may determine whether party B has a videoequipped device. If party B's device 304 is equipped to play videos,then verification module 205 may signal playback module 206 to streamthe correct vRBT clip to party B's user device 304. Party B may then seethe vRBT clip played on his user device 304 while he waits for party Ato answer the video call, ignore the call, or send the call tovoicemail.

If verification module 205 determines that party B does not have a videoequipped device, then playback module 206 may stream an aRBT insteadbased on the audio codecs in the SDP.

If Party A's vRBT subscriber profile includes a vRBT clip assigned toparty B's caller ID, playback module 206 may retrieve the one or morevRBT clips from data storage 120. Playback module 206 may determine theright format to play back the vRBT clip based on the video specificationin the Session Description Protocol (SDP) associated with the video callinitiation between party B and party A. Playback module 206 maynegotiate the correct video codec for playing back the one or more vRBTclips.

Thus, for example, referring to FIG. 8, if vRBT subscriber profile 800is party A's vRBT subscriber profile, and a video call from telephonynumber (987) 654-3210 is placed to party A's device, playback module 206may check party A's vRBT subscriber profile module and determine thatvRBT_(—)2 has been assigned to the contact (987) 654-3210. Playbackmodule 206 may retrieve vRBT_(—)2 from the appropriate database (shownin column 804) and play the clip vRBT_(—)2 on the calling device whilethe caller waits for party A to answer, ignore the call, or send thecall to voicemail. Playback module 206 may stream the vRBT clip to partyB's device for a predetermined period of time. If party A does notanswer the call within the predetermined period of time, playback module206 may stop streaming the vRBT clip. If party A chooses to ignore thecall, deny the call, or send it to voicemail, playback module 206 maystop streaming the vRBT clip.

FIG. 4 illustrates a flow diagram of a method 400 for creating a vRBTfor a user. This exemplary method 400 is provided by way of example, asthere are a variety of ways to carry out the method. The method 400shown in FIG. 4 can be executed or otherwise performed by one or acombination of various systems. The method 400 described below may becarried out by the systems shown in FIGS. 1-3, by way of example, andvarious elements of systems 100, 200, and 300 are referenced inexplaining the exemplary method of FIG. 4. Each block shown in FIG. 4represents one or more processes, methods or subroutines carried out inexemplary method 400. Referring to FIG. 4, exemplary method 400 maybegin at block 410.

At block 410, the provisioning system 110 may receive video content. Thevideo content may be received from one or more user devices connected toprovisioning system 110, or another provider system, via one or morenetworks, such as network 118 (as shown in FIGS. 1 and 3). The videocontent may include a variety of formats. For example, the video contentmay be one or more digital video files. The video content may be a videotag. The video content may be a link to a website that streams videos.The video content may be user generated. The video content may have beenpreviously purchased. The video content may be received from anotherprovider system.

User interface module 201 may be configured to allow a party to uploador transmit the video content to Provider system 110. User interfacemodule 201 may be a graphical user interface. User interface module 201may provide the graphical user interface as a mobile application on oneor more user devices. User interface module 201 may be provide thegraphical user interface on a website. The video content may be sent tovRBT module 202. The video content may include one or more identifiersthat identify the party that created the video content (or that owns thevideo content). The identifiers may include, for example, a caller ID,telephony number, or email address of a party. In the example in FIG. 3,if party A created the video content, or owns the video content, theidentifiers may include party A's caller ID or other identifyinginformation. Method 400 may proceed to block 420.

At block 420, vRBT module 202 may create a vRBT clip that can be playedon a video-equipped user device. vRBT module 202 may be configured tocreate one or more vRBT clips based on the received video content. Theone or more vRBT clips may be short segments designed to be played on avideo-enabled user device (such as party B device 304 in FIG. 3) whenparty B places a video call. vRBT module 202 may set the length of thevRBT clip based on predetermined settings. vRBT module 202 may set thelength of the vRBT clip based on input from party B (or party A). vRBTmodule 202 may be configured to automatically set the length of the vRBTclip to a pre-set length, such as 10 seconds. Other pre-set time limitsmay be used. Method 400 may proceed to block 430.

At block 430, subscriber profile module 203 may associate the one ormore vRBT clips with one or more vRBT subscriber profiles. A vRBTsubscriber profile may be accessed by subscriber profile module 203. Ifa subscriber or user uploaded the video content, that party maydesignate the user or subscriber that owns the video. The subscriberprofile module may store the vRBT clips in data storage 120 and link thestored vRBT clips to one or more vRBT subscriber profiles (shown in 806and 808 of FIG. 8). Subscriber profile module may update the vRBTsubscriber profile to include the name of the vRBT clip. Party A (orParty B) may name the clip using user interface module 201. vRBTsubscriber profile module 203 may automatically name the vRBT clip.

Once a vRBT clip has been associated with a subscriber profile, in thefuture, when subscriber module 202 (or other modules) accesses thatsubscriber's profile, profile may indicate that the subscriber has oneor more vRBT clips for potential playback when that subscriber receivesa video call. Method 400 may proceed to block 440.

At block 440, subscriber profile module 203 may assign the one or morevRBT clips based on the identifiers or based on user selections. ThevRBT clips may be assigned to one or more caller IDs, email addresses,and/or telephony numbers associated with other subscribers or users(shown in 810 of FIG. 8). Once a vRBT clip has been assigned to acertain caller ID, if a party with that caller ID attempts to place avideo call to the subscriber, the vRBT clip may be played on the callingparty's device before the called party answers. Subscriber profilemodule 203 may assign the vRBT clip to multiple subscribers or multiplecaller IDs (even if the caller IDs are not associated with subscribers).In other embodiments, once a vRBT clip has been associated with asubscriber profile, provider system 110 may notify the subscriber thatthis has occurred. The notification may be sent as an email, SMS, textmessage, or other electronic notification. The notification may requestthe recipient subscriber to confirm whether the vRBT clip should beassigned. Method 400 may proceed to block 450.

At block 450, method 400 may end.

FIG. 5 illustrates a flow diagram of a method 500 for playing a vRBT fora party initiating a video call. This exemplary method 500 is providedby way of example, as there are a variety of ways to carry out themethod. The method 500 shown in FIG. 5 can be executed or otherwiseperformed by one or a combination of various systems. The method 500described below may be carried out by the systems shown in FIGS. 1-3, byway of example, and various elements of systems 100, 200, and 300 arereferenced in explaining the exemplary method of FIG. 5. Each blockshown in FIG. 5 represents one or more processes, methods or subroutinescarried out in exemplary method 500. Referring to FIG. 5, exemplarymethod 500 may begin at block 510.

At block 510, provider system 110 may receive video call information.The video call may be initiated from one or more subscribers. The videocall may be initiated by a user of a third-party provider and then sentto a subscriber of provider system 110. The video call may be setup viaSIP signalling using network 118 and provider system 110. The video callmay be routed through one or more gateway routers. In the exemplaryembodiment shown in FIG. 3, provider system 110 may receive one or moresignals indicating that party B is initiating a video call with party A.Method 500 may proceed to block 520.

At block 520, verification module 205 may retrieve vRBT subscriberprofile data for the called party. Verification module 205 may determineif any vRBT clips are assigned to the calling party based on the callingparty's caller ID, telephony number, and/or email address. If the calledparty's vRBT subscriber profile includes a vRBT clip assigned to thecalling party, verification module 205 may signal playback module 206 toretrieve the one or more vRBT clips assigned to the calling party fromdata storage 120. Method 500 may proceed to block 530. So for example,referring to FIG. 3 and FIG. 8, if party B is calling party A from avideo-equipped device having the number (987) 654-3210, verificationmodule 205 would retrieve party A's vRBT subscriber profile 800 anddetermine that vRBT_(—)2 has been assigned to party B's telephony number(based on entries 806 and 810).

At block 530, Playback module 206 may provision the one or more vRBTclips based on the determination by verification module 205. Playbackmodule 206 may determine the right format to play back the vRBT clipbased on the video specification in the Session Description Protocol(SDP) associated with the video call initiation between the two or moreuser devices. Playback module 206 may negotiate the correct video codecfor playing back the one or more vRBT clips.

Verification module 205 may determine whether the calling party has avideo equipped device. If the calling party's device is equipped to playvideos, then verification module 205 will signal playback module 206 tostream the correct vRBT clip to the calling party's device as a “ringtone.” Playback module 206 will then stream the vRBT clip to the callingparty's device while he waits for the called party to answer the call.Referring to the previous example, playback module 206 may streamvRBT_(—)2 to party B's phone as the video ring-back tone. The vRBT clipmay be played for a predetermined amount of time. If the vRBT clip endsbefore the called party answers, then the playback module 206 may playthe vRBT clip again from the beginning. The vRBT clip may play until thecalling party ends the call attempt. The vRBT clip may be played untilthe call is sent to the called party's voicemail. The vRBT clip may beplayed until the called party ignores the call. Method 500 may thenproceed to block 540.

At block 540, method 500 may end.

FIG. 6 shows an exemplary embodiment of a system 600 for provisioningvRBT services. In FIG. 6, Provider IMS Network 608 b may include one ormore network elements to provide both telephony services and vRBTservices. Provider IMS network 608 b may include Media Resource Function(MRF) Module 612, Tone Query Server (TQS) 614, Personal Ring BackTone-Content Management Server (PRBT-CMS) 616, Telephony ApplicationServer (TAS) 618, one or more session border control (SBC) routers 609,provisioning system 610, one or more network elements 608 c, and homesubscriber server (HSS) 608 d. It is also noted that the system 600illustrates only a single instance of each component. It will beappreciated that multiple instances of these components may be used.Moreover, the system 600 may include other devices not depicted in FIG.6.

As shown in FIG. 6, party A 602 and party B 604 may be communicativelyconnected to each other and to Provider IMS network 608 b via one ormore networks 608 a, such as an internet network. Network elements 608 cmay include one or more call session control functions (CSCF). These mayinclude one or more Proxy-CSCFs, Serving CSCFs, and Interrogating CSCFs.These may act to process SIP signaling packets in provider IMS network608 b, as is known in the art. HSS 608 d may act with network elements608 c and TAS 618 to provide telephony services to Party A and Party B.

TAS 618 may include a subscriber profile for every subscriber totelephony services provided by Provider IMS network 608 b. Eachsubscriber profile in TAS 618 may indicate whether that subscribersprofile is associated with one or more vRBT services.

MRF module 612 may be hardware configured to convert one or more vRBTsinto IP packets and play them back to the calling party device, such aswhen party B calls party A (as described in conjunction with FIG. 5).MRF Module 612 may be communicatively coupled to one or more SBCgateways 609 via one or more connections 636. Connection 636 maycorrespond to step 530 in FIG. 5.

TQS 614 may comprise one or more vRBT subscriber profiles, such as theexemplary profile shown in FIG. 8. If TQS 614 receives an indicationthat, for example, party B is placing a video call to party A viaprovider IMS network 608 b, TQS 614 may determine which, if any, vRBTclips should be played on party B's device, retrieve the appropriateclips from PRBT-CMS 616, and provide them to MRF 612. TQS 614 mayinclude other subscriber profile information, such as when to play eachvRBT clip, or for how long.

PRBT-CMS 616 may act as the main server for the vRBT provisioningservice. It may receive and store the vRBT clips received from one ormore subscribers or parties, such as party A or party B, which may bereceived via connections 632 and 634. It may control the operation ofTQS 614 and/or MRF Module 612. TQS 614, MRF 612, and PRBT-CMS 616 may becommunicatively coupled via one or more HTTP/XML connections.

If, for example, Party B places a video call to Party A via provider IMSnetwork 608 b, TAS 618 will determine if party A and party B have videoequipped devices and provide one or more signals to PRBT-CMS 616, TQS614, and/or MRF 612 to begin the vRBT provisioning process, as describedwith reference to FIG. 5.

FIG. 7 shows an exemplary embodiment of a system 700 for provisioningvRBT services. In FIG. 7, Provider IMS Network 708 b may include one ormore network elements to provide vRBT services in conjunction with oneor more cable networks 708 a. Provider IMS network 708 b may includeMedia Resource Function (MRF) Module 712, Tone Query Server (TQS) 714,Personal Ring Back Tone-Content Management Server (PRBT-CMS) 716, andC-SBC router 709. It is also noted that the system 700 illustrates onlya single instance of each component. It will be appreciated thatmultiple instances of these components.

In FIG. 7, as opposed to system 600 in FIG. 6, the telephony servicesare provided by cable networks 708 a, instead of provider IMS network708 b. Thus, if party B places a video call to party A, the video callwill be setup and handled using one or more network elements and serversin cable network 708 a, such as TAS 718. The vRBT services will beseparately provided by provider IMS network 708 b, similar to how thevRBT services were provided in FIGS. 3 and 6.

It is to be appreciated that the set of instructions, e.g., the softwarethat configures the computer operating system to perform the operationsdescribed above may be contained on any of a wide variety of media ormedium, as desired. Further, any data that is processed by the set ofinstructions might also be contained on any of a wide variety of mediaor medium. That is, the particular medium, i.e., the memory in theprocessing machine, utilized to hold the set of instructions and/or thedata used in the invention may take on any of a variety of physicalforms or transmissions, for example. Illustratively, the medium may bein the form of paper, paper transparencies, a compact disk, a DVD, anintegrated circuit, a hard disk, a floppy disk, an optical disk, amagnetic tape, a RAM, a ROM, a PROM, a EPROM, a wire, a cable, a fiber,communications channel, a satellite transmissions or other remotetransmission, as well as any other medium or source of data that may beread by a computer.

In the preceding specification, various preferred embodiments have beendescribed with references to the accompanying drawings. It will,however, be evident that various modifications and changes may be madethereto, and additional embodiments may be implemented, withoutdeparting from the broader scope of invention as set forth in the claimsthat follow. The specification and drawings are accordingly to beregarded in an illustrative rather than restrictive sense.

We claim:
 1. A system, comprising: one or more network-enabledcomputers, each of the network enabled computers configured to: receivemedia data from one or more user devices; prepare one or more videoclips based on the media data; associate the one or more video clipswith one or more subscriber profiles; receive information indicating acalling party is attempting to place a call to a subscriber; retrievethe one or more video clips based on the information; and provide theone or more video clips to a device associated with the calling party.2. The system of claim 1, wherein the media data comprises one of videocontent, video tag, or a video link.
 3. The system of claim 1, whereinthe call is a video call.
 4. The system of claim 3, wherein the call isa Voice Over IP call.
 5. The system of claim 1, wherein providing theone or more video clips comprises streaming the one or more video clipsto the device associated with the calling party.
 6. The system of claim5, wherein the one or more video clips are streamed to the calling partydevice and played on the calling party device until at least one of thesubscriber answers the video call, the call is sent to voicemail, thecalling party device terminates the call, or the call is rejected. 7.The system of claim 5, wherein the one or more video clips are streamedto the calling party device for a predetermined amount of time.
 8. Thesystem of claim 1, wherein the media data was previously exchangedbetween the calling party and the subscriber using one of email, textmessage, SMS, or Near Field Communications.
 9. The system of claim 8,wherein the media data was previously exchanged as an attachment to avCard.
 10. The system of claim 1, wherein the one or more video clipsare retrieved based on whether those video clips were previouslyassigned to the calling party in the subscriber profile.
 11. The systemof claim 10, wherein the one or more network enabled computers arefurther configured to determine whether the video clips were previouslyassigned to the calling party in the subscriber profile based on one ofan email address, a caller ID, or a telephony number associated with thecalling party.
 12. The system of claim 1, wherein the subscriber is oneof a cable subscriber, an internet subscriber, or a telephony servicessubscriber.
 13. A method comprising: receiving media data from one ormore user devices; preparing one or more video clips based on the mediadata; associating the one or more video clips with one or moresubscriber profiles; receiving information indicating a calling party isattempting to place a call to a subscriber; retrieving the one or morevideo clips based on the call information; and providing the one or morevideo clips to a device associated with the calling party.
 14. Themethod of claim 13, wherein the media data comprises one of videocontent, video tag, or a video link.
 15. The method of claim 13, whereinthe call is a video call.
 16. The method of claim 15, wherein the callis a Voice Over IP call.
 17. The method of claim 15, wherein providingthe one or more video clips comprises streaming the one or more videoclips to the device associated with the calling party.
 18. The method ofclaim 17, wherein the one or more video clips are streamed to thecalling party device and played on the calling party device until atleast one of the subscriber answers the video call, the call is sent tovoicemail, the calling party device terminates the call, or the call isrejected.
 19. The method of claim 17, wherein the one or more videoclips are streamed to the calling party device for a predeterminedamount of time.
 20. The method of claim 13, wherein the media data waspreviously exchanged between the calling party and the subscriber usingone of email, text, SMS, or Near Field Communications.
 21. The method ofclaim 20, wherein the media data was previously exchanged as anattachment to a vCard.
 22. The method of claim 13, wherein the one ormore video clips are retrieved based on whether those video clips werepreviously assigned to the calling party in the subscriber profile. 23.The method of claim 22, further comprising determining whether the videoclips were previously assigned to the calling party based on one of anemail address, a caller ID, or a telephony number associated with thecalling party.
 24. The method of claim 13, wherein the subscriber is oneof a cable subscriber, an internet subscriber, or a telephony servicessubscriber.
 25. A non-transitory computer readable media comprising codeto perform the acts of the method of claim 13.